Developer Documentation

QuickTime 4 API Documentation

QuickTime for Java

| Previous | Chapter Top | Next |

The QuickTime for Java Package Structure

The QuickTime for Java classes are grouped into a set of packages. The grouping is based on common functionality and usage and on their organization in the standard QuickTime header files. The packages provide both an object model for the QuickTime API and a logical translation or binding of the native function calls into Java method calls. A number of packages also have subpackages that group together smaller sets of functionality.

The major packages generally have a constants interface that presents all of the constants that relate to this general grouping and an exception class that all errors that derive from a call in this package group will throw. The packages, with descriptions of their principal classes and interfaces, are shown in Table 1 .

Table 1 QuickTime for Java packages

Package

Principal classes
and interfaces

Description

quicktime QTSession, QTException The QTSession class has calls that set up and intialize the QuickTime engine, such as initialize , gestalt , and enterMovies .
quicktime.io OpenFile, QTFile, OpenMovieFile, QTIOException Contains calls that deal with file I/O. These calls are derived from the Movies.h file.
quicktime.qd QDGraphics, PixMap, Region, QDRect, QDColor, QDConstants, QDException Contains classes that represent the QuickDraw data structures that are required for the rest of the QuickTime API. These calls are derived from the QuickDraw.h and QDOffscreen.h files. The QuickTime API expects data structures that belong to QuickDraw, such as graphics ports, GWorlds, rectangles, and points.
quicktime.qd3d CameraData, Q3Point, Q3Vector Contains classes that represent the QuickDraw 3D data structures that are required for the rest of the QuickTime API, predominantly the tweener and 3D media services.
quicktime.sound SndChannel, Sound, SPBDevice, SoundConstants, SoundException Contains classes that represent the Sound Manager API. These calls are derived from the Sound.h file. While some basic sound recording services are provided, for more demanding sound input and output the sequence grabber components and movie playback services should be used.
quicktime.std StdQTConstants, StdQTException The original QuickTime interfaces on the Mac OS are contained in a collection of eight header files that describe the standard QuickTime API. As such, nearly all of the functions defined in these files are to be found in classes in the quicktime.std group of packages.
quicktime.std.
anim
Sprite, SpriteWorld Classes that provide support for animation. QuickTime can be used as a real time rendering system for animation, distinct from a data format--that is, the movie. Thus, you can create a graphics space ( SpriteWorld ) within which characters ( Sprite objects) can be manipulated.
quicktime.std.
clocks
Clock, TimeBase, QTCallback and subclasses Contains classes that provide timing services, including support for the creation of hierarchical dependencies between time bases, the usage of callbacks for user scheduling of events or notification, and the capability of instantiating the system clocks that provide the timing services.
quicktime.std.
com
Component, Component-
Description
QuickTime is a component-based architecture, with much of its funtionality being provided through the creation and implementation of a particular component's API. This package contains classes that provide basic support for this component architecture; a full implementation is forthcoming.
quicktime.std.
image
CodecComponent, QTImage, CSequence, Matrix Contains classes that present the Image Compression Manager. These classes provide control for the compression and decompression of both single images and sequences of images. It also contains the Matrix class, which (like the Region class in the qd package) is used generally throughout QuickTime to alter and control the rendering of 2D images.
quicktime.std.
movies
AtomContainer, Movie, MovieController, Track Contains the principal data structures of QuickTime, including classes that represent QuickTime atom containers, movies, movie controllers, and tracks--all essential for creating and manipulating QuickTime movies. A movie containing one or more tracks is the primary way that data is organized and managed in QuickTime. A Movie object can be created from a file or from memory and can be saved to a file. The MovieController class provides the standard way that QuickTime data (movies) are presented and controlled. AtomContainer objects are the standard data structures used to store and retrieve data in QuickTime.
quicktime.std.
movies.media
DataRef, Media and subclasses, MediaHandler
and subclasses , Sample
Description
and subclasses
A Track object is a media neutral structure, but it contains a single Media type that defines the kind of data that a Track is representing. The Media , MediaHandler and SampleDescription subclasses describe the various media types that QuickTime can present. Media classes control references to data that comprise the raw media data.
quicktime.std.
music
AtomicInstrument,
NoteChannel, NoteAllocator
Contains classes that deal with the general music architecture provided by QuickTime. This architecture can be used to capture and generate music (MIDI) events in real time, customize and create instruments, and eventually provide your own algorithmic synthesis engines.
quicktime.std.
qtcomponets
MovieExporter, MovieImporter, TimeCoder Contains classes that interface with some of the components that are provided to supply different services. The import and export components are supported, as are tween and timecode media components.
quicktime.std.sg SequenceGrabber, SGVideoChannel, SGSoundChannel Contains classes that implement the sequence grabber component for capturing video and audio media data.
quicktime.util QTHandle, QTByteObject, QTPointer, UtilException Contains classes that represent utility functionality required by the general QuickTime API. The most commonly used feature of this package is a set of classes for memory management from Memory.h . These classes typically form the base class for actual QuickTime objects.
quicktime.vr QTVRConstants, QTVRInstance, QTVRException Contains classes that represent the QuickTime Virtual Reality API. The package contains all the QuickTime VR interface constants, the QTVRInstance class and some QTVR callbacks for presentation of QTVR content.

QuickTime Headers and Java Classes

The Application Framework

The QTSimpleApplet Code


© 1999 Apple Computer, Inc.

| Previous | Chapter Top | Next |